home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / glass / glass.lha / GLASS / dtm / edtm_atoms.c < prev    next >
Text File  |  1991-06-18  |  3KB  |  135 lines

  1. #define zero(t) (0)
  2. #define undef(t) (1)
  3. #define one(t) (2)
  4. #define init(t) ((t<3)?0:2)
  5.  
  6. #define buf(x) (x)
  7. #define not(x) (((x)==0)?2:((x)==1)?1:0)
  8.  
  9. static int nand2 (a0,a1)
  10.  int a0,a1;
  11.     { if ((a0 == 2) && (a1 == 2)) return (0);
  12.       if ((a0 == 0) || (a1 == 0)) return (2);
  13.       return (1);
  14.     };
  15.  
  16. static int nand3 (a0,a1,a2)
  17.  int a0,a1,a2;
  18.     { if ((a0 == 2) && (a1 == 2) && (a2 == 2)) return (0);
  19.       if ((a0 == 0) || (a1 == 0) || (a2 == 0)) return (2);
  20.       return (1);
  21.     };
  22.  
  23. static int nand4 (a0,a1,a2,a3)
  24.  int a0,a1,a2,a3;
  25.     { if ((a0 == 2) && (a1 == 2) && (a2 == 2) && (a3 == 2)) return (0);
  26.       if ((a0 == 0) || (a1 == 0) || (a2 == 0) || (a3 == 0)) return (2);
  27.       return (1);
  28.     };
  29.  
  30. static int nand5 (a0,a1,a2,a3,a4)
  31.  int a0,a1,a2,a3,a4;
  32.     { if ((a0 == 2) && (a1 == 2) && (a2 == 2) &&
  33.           (a3 == 2) && (a4 == 2)) return (0);
  34.       if ((a0 == 0) || (a1 == 0) || (a2 == 0) ||
  35.           (a3 == 0) || (a4 == 0)) return (2);
  36.       return (1);
  37.     };
  38.  
  39. static int and2 (a0,a1)
  40.  int a0,a1;
  41.     { if ((a0 == 2) && (a1 == 2)) return (2);
  42.       if ((a0 == 0) || (a1 == 0)) return (0);
  43.       return (1);
  44.     };
  45.  
  46. static int and3 (a0,a1,a2)
  47.  int a0,a1,a2;
  48.     { if ((a0 == 2) && (a1 == 2) && (a2 == 2)) return (2);
  49.       if ((a0 == 0) || (a1 == 0) || (a2 == 0)) return (0);
  50.       return (1);
  51.     };
  52.  
  53. static int and4 (a0,a1,a2,a3)
  54.  int a0,a1,a2,a3;
  55.     { if ((a0 == 2) && (a1 == 2) && (a2 == 2) && (a3 == 2)) return (2);
  56.       if ((a0 == 0) || (a1 == 0) || (a2 == 0) || (a3 == 0)) return (0);
  57.       return (1);
  58.     };
  59.  
  60. static int and5 (a0,a1,a2,a3,a4)
  61.  int a0,a1,a2,a3,a4;
  62.     { if ((a0 == 2) && (a1 == 2) && (a2 == 2) &&
  63.           (a3 == 2) && (a4 == 2)) return (2);
  64.       if ((a0 == 0) || (a1 == 0) || (a2 == 0) ||
  65.           (a3 == 0) || (a4 == 0)) return (0);
  66.       return (1);
  67.     };
  68.  
  69. static int or2 (a0,a1)
  70.  int a0,a1;
  71.     { if ((a0 == 2) || (a1 == 2)) return (2);
  72.       if ((a0 == 0) && (a1 == 0)) return (0);
  73.       return (1);
  74.     };
  75.  
  76. static int or3 (a0,a1,a2)
  77.  int a0,a1,a2;
  78.     { if ((a0 == 2) || (a1 == 2) || (a2 == 2)) return (2);
  79.       if ((a0 == 0) && (a1 == 0) && (a2 == 0)) return (0);
  80.       return (1);
  81.     };
  82.  
  83. static int or4 (a0,a1,a2,a3)
  84.  int a0,a1,a2,a3;
  85.     { if ((a0 == 2) || (a1 == 2) || (a2 == 2) || (a3 == 2)) return (2);
  86.       if ((a0 == 0) && (a1 == 0) && (a2 == 0) && (a3 == 0)) return (0);
  87.       return (1);
  88.     };
  89.  
  90. static int or5 (a0,a1,a2,a3,a4)
  91.  int a0,a1,a2,a3,a4;
  92.     { if ((a0 == 2) || (a1 == 2) || (a2 == 2) ||
  93.           (a3 == 2) || (a4 == 2)) return (2);
  94.       if ((a0 == 0) && (a1 == 0) && (a2 == 0) &&
  95.           (a3 == 0) && (a4 == 0)) return (0);
  96.       return (1);
  97.     };
  98.  
  99. static int nor2 (a0,a1)
  100.  int a0,a1;
  101.     { if ((a0 == 2) || (a1 == 2)) return (0);
  102.       if ((a0 == 0) && (a1 == 0)) return (2);
  103.       return (1);
  104.     };
  105.  
  106. static int nor3 (a0,a1,a2)
  107.  int a0,a1,a2;
  108.     { if ((a0 == 2) || (a1 == 2) || (a2 == 2)) return (0);
  109.       if ((a0 == 0) && (a1 == 0) && (a2 == 0)) return (2);
  110.       return (1);
  111.     };
  112.  
  113. static int nor4 (a0,a1,a2,a3)
  114.  int a0,a1,a2,a3;
  115.     { if ((a0 == 2) || (a1 == 2) || (a2 == 2) || (a3 == 2)) return (0);
  116.       if ((a0 == 0) && (a1 == 0) && (a2 == 0) && (a3 == 0)) return (2);
  117.       return (1);
  118.     };
  119.  
  120. static int nor5 (a0,a1,a2,a3,a4)
  121.  int a0,a1,a2,a3,a4;
  122.     { if ((a0 == 2) || (a1 == 2) || (a2 == 2) ||
  123.           (a3 == 2) || (a4 == 2)) return (0);
  124.       if ((a0 == 0) && (a1 == 0) && (a2 == 0) &&
  125.           (a3 == 0) && (a4 == 0)) return (2);
  126.       return (1);
  127.     };
  128.  
  129. static int xor2 (a0,a1)
  130.  int a0,a1;
  131.     { if (((a0 == 0) && (a1 == 0)) || ((a0 == 2) && (a1 == 2))) return (0);
  132.       if (((a0 == 0) && (a1 == 2)) || ((a0 == 2) && (a1 == 0))) return (2);
  133.       return (1);
  134.     };
  135.